<?php

namespace Application\Model\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * ProduitVendu
 *
 * @ORM\Table(name="produitvendu", indexes={@ORM\Index(name="FK_ProduitVendu_Utilisateur", columns={"id_utilisateur"}), @ORM\Index(name="FK_ProduitVendu_Boutique", columns={"id_boutique"}), @ORM\Index(name="FK_ProduitVendu_Categorie", columns={"id_categorie"})})
 * @ORM\Entity
 */
class ProduitVendu
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="libelle", type="string", length=30, nullable=true)
     */
    private $libelle;

    /**
     * @var string
     *
     * @ORM\Column(name="description", type="text", nullable=true)
     */
    private $description;

    /**
     * @var string
     *
     * @ORM\Column(name="taille", type="string", length=30, nullable=true)
     */
    private $taille;

    /**
     * @var float
     *
     * @ORM\Column(name="prix", type="float", precision=10, scale=0, nullable=true)
     */
    private $prix;

    /**
     * @var integer
     *
     * @ORM\Column(name="date_vente", type="integer", nullable=true)
     */
    private $dateVente;

    /**
     * @var float
     *
     * @ORM\Column(name="prix_vente", type="float", precision=10, scale=0, nullable=true)
     */
    private $prixVente;

    /**
     * @var \Application\Model\Entity\Utilisateur
     *
     * @ORM\ManyToOne(targetEntity="Application\Model\Entity\Utilisateur")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="id_utilisateur", referencedColumnName="id")
     * })
     */
    private $utilisateur;
    
    /**
     * @var \Application\Model\Entity\Boutique
     *
     * @ORM\ManyToOne(targetEntity="Application\Model\Entity\Boutique")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="id_boutique", referencedColumnName="id", nullable=true)
     * })
     */
    private $boutique;

    /**
     * @var \Application\Model\Entity\Categorie
     *
     * @ORM\ManyToOne(targetEntity="Application\Model\Entity\Categorie")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="id_categorie", referencedColumnName="id")
     * })
     */
    private $categorie;

    /**
     * Constructor
     */
    public function __construct($id = null, $libelle = null, $description = null, $taille = null, $prix = null,
            $dateVente = null, $prixVente = null, $utilisateur = null, $boutique = null, $categorie = null)
    {
        $this->id = $id;
        $this->libelle = $libelle;
        $this->description = $description;
        $this->taille = $taille;
        $this->prix = $prix;
        $this->dateVente = $dateVente;
        $this->prixVente = $prixVente;
        $this->utilisateur = $utilisateur;
        $this->boutique = $boutique;
        $this->categorie = $categorie;
    }

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set libelle
     *
     * @param string $libelle
     * @return ProduitVendu
     */
    public function setLibelle($libelle)
    {
        $this->libelle = $libelle;

        return $this;
    }

    /**
     * Get libelle
     *
     * @return string 
     */
    public function getLibelle()
    {
        return $this->libelle;
    }

    /**
     * Set description
     *
     * @param string $description
     * @return ProduitVendu
     */
    public function setDescription($description)
    {
        $this->description = $description;

        return $this;
    }

    /**
     * Get description
     *
     * @return string 
     */
    public function getDescription()
    {
        return $this->description;
    }

    /**
     * Set taille
     *
     * @param string $taille
     * @return ProduitVendu
     */
    public function setTaille($taille)
    {
        $this->taille = $taille;

        return $this;
    }

    /**
     * Get taille
     *
     * @return string 
     */
    public function getTaille()
    {
        return $this->taille;
    }

    /**
     * Set prix
     *
     * @param float $prix
     * @return ProduitVendu
     */
    public function setPrix($prix)
    {
        $this->prix = $prix;

        return $this;
    }

    /**
     * Get prix
     *
     * @return float 
     */
    public function getPrix()
    {
        return $this->prix;
    }

    /**
     * Set dateVente
     *
     * @param integer $dateVente
     * @return ProduitVendu
     */
    public function setDateVente($dateVente)
    {
        $this->dateVente = $dateVente;

        return $this;
    }

    /**
     * Get dateVente
     *
     * @return integer 
     */
    public function getDateVente()
    {
        return $this->dateVente;
    }

    /**
     * Set prixVente
     *
     * @param float $prixVente
     * @return ProduitVendu
     */
    public function setPrixVente($prixVente)
    {
        $this->prixVente = $prixVente;

        return $this;
    }

    /**
     * Get prixVente
     *
     * @return float 
     */
    public function getPrixVente()
    {
        return $this->prixVente;
    }

    /**
     * Set utilisateur
     *
     * @param \Application\Model\Entity\Utilisateur $utilisateur
     * @return ProduitVendu
     */
    public function setUtilisateur(\Application\Model\Entity\Utilisateur $utilisateur = null)
    {
        $this->utilisateur = $utilisateur;

        return $this;
    }

    /**
     * Get utilisateur
     *
     * @return \Application\Model\Entity\Utilisateur 
     */
    public function getUtilisateur()
    {
        return $this->utilisateur;
    }

    /**
     * Set boutique
     *
     * @param \Application\Model\Entity\Boutique $boutique
     * @return ProduitVendu
     */
    public function setBoutique(\Application\Model\Entity\Boutique $boutique = null)
    {
        $this->boutique = $boutique;

        return $this;
    }

    /**
     * Get boutique
     *
     * @return \Application\Model\Entity\Boutique 
     */
    public function getBoutique()
    {
        return $this->boutique;
    }

    /**
     * Set categorie
     *
     * @param \Application\Model\Entity\Categorie $categorie
     * @return ProduitVendu
     */
    public function setCategorie(\Application\Model\Entity\Categorie $categorie = null)
    {
        $this->categorie = $categorie;

        return $this;
    }

    /**
     * Get categorie
     *
     * @return \Application\Model\Entity\Categorie 
     */
    public function getCategorie()
    {
        return $this->categorie;
    }
}
